\chapter{Introdução}

O objectivo deste trabalho é realizar uma implementação concorrente de um driver JDBC para SQL Server 2008.

Este primeiro capítulo começa por referir o problema da integração de linguagens de programação e bases de dados, explicando a razão da escolha do JDBC como solução. É fornecida uma descrição mais detalhada do que consiste o JDBC, incluindo um pequeno tutorial exemplificando como se pode utilizar a \glssymbol{api} JDBC para aceder a dados numa base de dados. Este capítulo explica também o que é um driver JDBC. Por fim são identificados os problemas que a \glssymbol{api} JDBC apresenta no âmbito da execução de código concorrente, e que estão na base da motivação para a realização deste trabalho.

No capítulo \ref{chap:jdbc-driver-impl} é explicada a arquitectura da implementação do driver JDBC para SQL Server 2008.

No capítulo \ref{chap:cresultset} são apresentadas as soluções para o problema da partilha de objectos JDBC e é explorado em maior profundidade o desenvolvimento do driver JDBC, no que se refere à implementação do ResultSet.

No capítulo \ref{chap:benchmark} é descrito o método experimental utilizado para avaliar o desempenho das soluções desenvolvidas.

No capítulo \ref{chap:resultados} apresentam-se os resultados obtidos.

No capítulo \ref{chap:discussao} analisam-se e discutem-se os resultados. São apresentadas as conclusões, é analisado o trabalho relacionado e são indicadas sugestões para trabalhos futuros.

No apêndice \ref{ap:msjdbc} é apresentado um estudo da implementação de um ResultSet para SQL Server. Este apêndice revela conceitos importantes relacionados com o que envolve implementar um ResultSet, e reunindo o que se aprendeu através do estudo do driver da Microsoft.

No apêndice \ref{ap:tds} é descrito o protocolo de comunicação entre aplicações cliente e o SQL Server, conhecido como \gls{tds}.

No apêndice \ref{ap:cursorsp} são apresentados os \glspl{storedprocedure} que existem no SQL Server e que são utilizados pelo ResultSet para manipular os dados do \gls{dataset}.

No apêndice \ref{ap:jdbc-impl} é listada a funcionalidade da API JDBC que foi implementada neste trabalho.

\input{chapters/introducao/lp-vs-db}
\input{chapters/introducao/jdbc}
\input{chapters/introducao/jdbc-driver}
\input{chapters/introducao/tutorial-jdbc}
\input{chapters/introducao/motivacao}
